package jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * 根据用户名修改用户密码和昵称
 * 需求:程序启动后，要求用户陆续输入用户名，以及新的密码和昵称
 * 然后根据该用户名进行修改这个用户的密码和昵称
 * 如果用户名不存在(修改后没有影响表中任何记录)，则提示"用户名不存在"
 *
 * 注意:使用预编译SQL完成
 */
public class UpdateUserDemo1 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String username = scanner.nextLine();
		System.out.println("请输入新的密码:");
		String password = scanner.nextLine();
		System.out.println("请输入新的昵称:");
		String nickname = scanner.nextLine();
		try (Connection connection = DBUtil.getConnection();){
			String sql = "UPDATE user " +
					"SET password=?,nickname=? " +
					"WHERE username=?";
			PreparedStatement ps = connection.prepareStatement(sql);
			ps.setString(1, password);
			ps.setString(2, nickname);
			ps.setString(3, username);
			int count = ps.executeUpdate();
			if (count > 0) {
				System.out.println("修改成功");
			} else {
				System.out.println("用户名不存在");
			}
			
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		
	}
}
